#ifndef CLUSTER_HPP
#define CLUSTER_HPP

#include "SwarmAlgorithm.hpp"

class ClusterAlgorithm: public SwarmAlgorithm {
public:
    static unsigned char clusterAction(vector<Robot> &robots, int i, double offset = M_PI_4);
    static unsigned char clusterClosestAction(int color = LED::ANY, double offset = M_PI_4);
    static unsigned char clusterFurthestAction(int color = LED::ANY, double offset = M_PI_4);
    static unsigned char clusterDirectionAction(double angle, int color = LED::ANY);
    static unsigned char clusterTrackAction(double rad, double angle, int color = LED::ANY, double offset = M_PI_4);

    ClusterAlgorithm ();

    bool setup();
    void loopBody();
};

#endif
